package javachongkao.面向对象上.物联网感知位置计算;

import java.util.Scanner;
//7-42 物联网感知位置计算
//物联网程序设计中，经常用到两个点的地理位置信息。和数学中的坐标系一个，你生活环境的每一个位置都有一个坐标（经度，纬度）可以用以下方式来声明：
//
//double longitude;
//double latitude;
//A ,B两个点可以用以下方式：
//
//double longitudeA;
//double latitudeA;
//double longitudeB;
//double latitudeB;
//然而你每天生活的轨迹并不是只有两个点，为了更好的表示这些点，我们需要申明一个点类：
//
//class
// GeographicInfo {
//    double latitude;
//    double longitude;
//}
//然后再写出主程序：
//
//public
//class
// Main {
//
//   public static void main(String[] args) {
//      // TODO Auto-generated method stub
//       GeographicInfo G;
//       G = new GeographicInfo();
//       G.latitude =
//35.66
//;
//       G.longitude =
//139.75
//;
//       System.out.println(G.latitude);
//       System.out.println(G.longitude);
//   }
//
//}
//假如你的位置信息是从A到B,写一个程序输出你的出行轨迹，注意你的位置用键盘输入语句。
//
//longitudeA;
//
//double latitudeA;
//
//double longitudeB;
//
//double latitudeB;
//
//输入格式:
//输入四个double类型变量。
//
//输出格式:
//输出这几个变量的位置.
class GeographicInfo {
    public double latitude;
    public double longitude;

    // 构造方法
    public GeographicInfo(double lat, double lon) {
        this.latitude = lat;
        this.longitude = lon;
    }

    // 格式化输出位置信息
    @Override
    public String toString() {
        return "(" + latitude + "," + longitude + ")";
    }
}

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 读取A点坐标
        double latA = scanner.nextDouble();
        double lonA = scanner.nextDouble();

        // 读取B点坐标
        double latB = scanner.nextDouble();
        double lonB = scanner.nextDouble();

        // 创建位置对象
        GeographicInfo pointA = new GeographicInfo(latA, lonA);
        GeographicInfo pointB = new GeographicInfo(latB, lonB);

        // 输出轨迹
        System.out.println(pointA.toString());
        System.out.println(pointB.toString());

        scanner.close();
    }
}